Message passing is a widely-used communication model for multi-processor and multi-node processing. Current examples include the message passing interface (MPI), MPI+ OpenCL, and MPI+ CUDA. Accelerator-based computing (e.g., graphic processing units or GPUs) has become popular recently, however GPU's are usually not the first-tier entities which are involved in message passing (e.g., today's MPI+ OpenCL, and MPI+ CUDA models). The MPI+X model is widely adopted today in high performance computing (HPC) environments, where communications rely on the host central processing unit (CPU) across nodes.